<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>严格模式</title>
</head>
<body>
    <script>
        // 一、严格模式的声明 
        //1. 全局
        // 'use strict';

        // //2. 函数内部
        // function main(){
        //     'use strict';
        // }

        // (function(){
        //     'use strict';
        // })()

        // 二、严格模式的特性   
        //1) 不允许使用未声明的变量 
        // star = '郑爽';

        //2) 函数内部的 this 不指向 window
        // function main(){
        //     console.log(this);
        // }
        // main();

        //3) eval 作用域   全局作用域  eval 就是一个函数, 将字符串进行 JS 语法解析并执行
        // eval('alert(123)');
        // eval('var test="秋香"; console.log(test)');
        // console.log(test);
        
        //4) 对象不能有重复的属性 (重名的属性)   IE 下有影响, chrome 没影响
        // var mouse = {
        //     type: '无线',
        //     type: '蓝色'
        // }
        // console.log(mouse);

        //5) 严格模式下 函数不允许有同名的形参
        'use strict';

        // function add(a, a){
        //     console.log(a);
        // }
        // add(1,2);

        //6) 新增一些保留字  private protected implements
        var private = '私有的';
        console.log(private);

    </script>

    <script>
        //影响不到

    </script>
</body>
</html>